#include "info.h"
#include "employee_errono.h"
#include <stdio.h>
/*
* 函数名：	 analyse_ack(stru, char *string)
* 输入参数： 消息体
* 输出参数:  传出的字符串
* 返回值：0 成功  失败: 负数,其绝对值是错误码
* 描述: 解析来自于服务器的响应消息体
*/
int analyse_ack(const Mesg *ack_msg, char string[512])
{
	
		switch(ack_msg->cmd)
		{
			case 0://login
				if(ack_msg->ack == 0)
				{sprintf(string,"登录成功! \n");}
				else if(ack_msg->ack == LOGIN_NOUSER)
				{sprintf(string,"登录失败:用户不存在! \n");}
				else if(ack_msg->ack == LOGIN_PWERR)
				{sprintf(string,"登录失败:密码错误! \n");}
				else 
				{sprintf(string,"登录失败 ! \n");}

			break;
			case 1://register
				if(ack_msg->ack == 0)
				{
					sprintf(string,"注册成功! \n");
					
				}
				else if(ack_msg->ack == ADD_NUMUSED)
				{sprintf(string,"注册失败:该工号已被占用! \n");}
				else 
				{sprintf(string,"注册失败 ! \n");}

			break;
			case 2://select
				if(ack_msg->ack == 0)
				{
					sprintf(string,"查询成功! \n姓名: %s \n工号: %s \n职位: %s \n部门: %s \n工资: %d \n",
					 ack_msg->name,
					 ack_msg->work_num,ack_msg->post,
					 ack_msg->branch,ack_msg->pay);
					
				}
				else
				{sprintf(string,"查询失败！\n");}
			break;
			case 3://updata pw
				if(ack_msg->ack == 0)
				{
					sprintf(string,"修改密码成功! \n新密码为 %s \n ",ack_msg->passwd);
					
				}
				else
				{sprintf(string,"修改密码失败! \n");}
			break;
			case 4://updata pw
				if(ack_msg->ack == 0)
				{
					sprintf(string,"修改信息成功!新信息如下:\n姓名: %s \n工号: %s \n职位: %s \n部门: %s \n工资: %d \n",
					 ack_msg->name,
					 ack_msg->work_num,ack_msg->post,
					 ack_msg->branch,ack_msg->pay);

								
				}
				else
				{sprintf(string,"修改信息失败! \n");}
			break;
			case 5://delete usr
				if(ack_msg->ack == 0)
				{
					sprintf(string,"删除用户成功！ \n");
					
				}
				else if(ack_msg->ack == DELETE_NOPERMISION)
				{sprintf(string,"删除用户失败:没有权限! \n");}
				else 
				{sprintf(string,"删除用户失败 ! \n");}
			break;
			default:
			break;
			
		}

	return (-ack_msg->ack);
	
}

